Content distribution systems often rely on at least one of two location methods to determine an optimal point of content delivery—geo-location proximity and network proximity from the perspective of the content distributor. In geo-location proximity, an analytics system may identify a client's location with a latitude/longitude or the physical location of the client's network attachment. Third party systems provide services that correlate IP addresses with geographic locations. Geo-location information, however, frequently does not correlate with a proximity of the client to a potential content distribution point. That is, geographic location is often a poor proxy for making network delivery decisions. If no network connection is available between the client and the ‘best’ content distribution point based on geo-location, then the content flow is sub-optimal. For example, content transmitted to the geographic location may end up leaving the area to find a peering point and then returning to the same general location in order to reach a client.
In systems implementing network proximity (from the perspective of the content distributor) the content distributor may assess the client's IP address relative to delivery nodes in the operator's network routing topology and determine what appears to be the shortest topological path from any of the content distribution nodes to the client. However, the shortest topological path is typically limited to the perspective of the content distributor. Such a perspective may be biased as asymmetric routing is common in the Internet where “nearest exit routing” is the method of operation.
The best path from the perspective of the client is the path taken to reach the nearest content distribution node—however, the client does not know the location of these nodes. The number of delivery nodes is likely to be large and encumbering the client with polling hundreds of nodes to assess which is the most responsive is often intractable. Fundamentally, the closest topological delivery node can only be determined by routing a packet from the client to all the potential delivery nodes and assessing their relative topological proximity. This process is onerous given the number of delivery nodes and clients.